/**
 * 2009-9-21 下午05:39:39 
 * esignature
 * com.smc.server
 * TokenService
 */
package com.smc.security;

import org.aopalliance.intercept.MethodInterceptor;
import org.aopalliance.intercept.MethodInvocation;

/**
 * @author chenheng
 * @version 0.0.1
 * 
 * 令牌安全检测拦截器。实现方法拦截的AOP机制。
 */
public abstract class AbstractTokenSecurityInterceptor implements MethodInterceptor {
	/**
	 * 验证当前用户是否有执行方法的角色值。
	 * @param role	用户具有的角色值
	 * @return
	 */
	public abstract boolean auditRoleToken(String role);
	/**
	 * 验证当前用户是否有执行方法的资源值。
	 * @param resource	用户具有的资源值 
	 * @return
	 */
	public abstract boolean auditResourceToken(String resource);
	/**
	 * 验证当前用户是否有执行方法的权限操作值
	 * @param authority	用户具有的权限操作值 
	 * @return
	 */
	public abstract boolean auditAuthorityToken(String authority);
	/**
	 * AOP高度方法。传入当前线程的方法名，并拦截。
	 */
	public Object invoke(MethodInvocation method) throws Throwable {
		return null;
	}
}
